iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 24
0
自我挑戰組

用 laravel 尻出自己形狀的 line bot,還要撐三十天!系列 第 24

【第二十四天】補充一下這幾天的認知錯誤

  • 分享至 

  • xImage
  •  

【第二十四天】補充一下這幾天的認知錯誤

又是一個星期五的晚上!拿起冰箱裡的啤酒,為這週的工作辛勞舉杯!
今天我們來分享一下這幾天的錯誤認知和心得吧!

Yes

TravisCI塞車問題

前幾天曾以為自己CI塞車的原因是因為在過程中呼叫了Service來建構MySQL又或著是因為docker pull的指令!
但結果都不是,在昨天下午上班忙裡偷閒了一下推了一支PR卻發現CI的過程可以說是秒殺!
當下去網站上看了一下!
https://ithelp.ithome.com.tw/upload/images/20171229/20107380XtF6fdxDOJ.png

果然沒有在塞車!看來之前會等這麼久確實是在排隊的關係!
困惑解決!之後再試著寫docker時可以放心的玩了!

SlashCommand timeout的問題

目前架在Heroku上如果一久沒使用時,還是會timeout,但如果再重複輸入指令則不會。
後來發現當初完全誤會response_url的意思了!
並不是把response_url給包回去(詳情),而是把組好的回傳內容往response_url打POST過去。
參考文件
之後補上PR再來驗證看看!
已補上

Twitch API新版本的串接

還記得我們之前說Twitch API新版本的無法透過channel_id嗎?詳情
今天趁比較有空的時間再回去詳讀一下他的API文件後發現一件事情!
舊版稱之為channelNamechannel_id的東西在新版的文件改成稱呼為userLoginlogin_id
這也難怪我完全找不到關鍵字!看來常不常登入twitch和有沒有熟悉實際使用真的會嚴重影響到開發呢!

所以我們快速的瀏覽測試後發現有兩隻API會是我們要用的
Get Users

# 有這login_id存在的情況下
curl -H 'Client-ID: <client_id>' -X GET 'https://api.twitch.tv/helix/users?login=cawai0147'

{
  "data": [
    {
      "id": "29103119",
      "login": "cawai0147",
      "display_name": "蛋捲",
      "type": "",
      "broadcaster_type": "partner",
      "description": "想知道開台資訊的話可以連接下面網址https://www.facebook.com/RiryGoHome",
      "profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/cawai0147-profile_image-dcd2507c461ff900-300x300.jpeg",
      "offline_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/cawai0147-channel_offline_image-e6b1976633d52563-1920x1080.png",
      "view_count": 10171387
    }
  ]
}

# 沒有這login_id存在的情況下
curl -H 'Client-ID: <client_id>' -X GET 'https://api.twitch.tv/helix/users?login=C8673'

{"data": []}

Get Streams

# 在開台的情況下
curl -H 'Client-ID: <client_id>' -X GET 'https://api.twitch.tv/helix/streams?user_login=c9sneaky'

{
  "data": [
    {
      "id": "27107646928",
      "user_id": "24538518",
      "game_id": "21779",
      "community_ids": [],
      "type": "live",
      "title": "Scrumptious League Action",
      "viewer_count": 14830,
      "started_at": "2017-12-29T06:04:05Z",
      "language": "en",
      "thumbnail_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_c9sneaky-{width}x{height}.jpg"
    }
  ],
  "pagination": {
    "cursor": "eyJiIjpudWxsLCJhIjp7Ik9mZnNldCI6MX19"
  }
}

# 在關台的情況下
curl -H 'Client-ID: <client_id>' -X GET 'https://api.twitch.tv/helix/streams?user_login=cawai0147'

{"data":[],"pagination":{}}

太棒啦!這樣之前困擾的驗證新追蹤對象是否存在的問題也可以一起解決了!
詳細流程就再看這隻PR吧!
今天的分享就到這邊啦!2017的最後一天平日掰啦!


上一篇
【第二十三天】花生神模式!?
下一篇
【第二十五天】要使用Repository嗎?
系列文
用 laravel 尻出自己形狀的 line bot,還要撐三十天!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言